package com.linkhub.oms.admin.modules.wms.domain.dto;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author Jaycle
 * @version 1.0.0
 * @Description f.java
 * @createTime 2024/06/15 18:31
 */

@Data
@NoArgsConstructor
public class WarehouseArrantConfirmDTO {
    // 内部入库订单号
    private String entryOrderCode;
    // 货主
    private String ownerCode;
    // 仓库
    private String warehouseCode;
    // WMS入库订单号
    private String entryOrderId;
    // 入库单类型，提货时固定为CGRK，物流退货，固定为：WLTH（物流退货）
    private String entryOrderType;
    // 去重ID，重复接受不处理
    private String outBizCode;
    // 1（部分入库），0（全部入库）
    private String confirmType;
    // 产品ID以及对应的正品次品数量
    private List<Product> product;

    @Data
    @NoArgsConstructor
    public static class Product {
        // OMS产品ID
        private String itemCode;
        // WMS产品ID
        private String itemId;
        private List<Batch> batch;

        @Data
        @NoArgsConstructor
        public static class Batch {
            // 数量
            private String actualQty;
            // ZP为正品，CC为残次品
            private String inventoryType;
            // 入库时间
            private String stockinDate;
        }
    }

    public boolean isAllStockIn(){
        if ("0".equals(this.confirmType)) {
            return true;
        }
        return false;
    }
}
